Git core.autocrlf 配置说明

您所在的位置:网站首页 git config —global core Git core.autocrlf 配置说明

Git core.autocrlf 配置说明

2023-07-03 12:09| 来源: 网络整理| 查看: 265

最近在开发中提交代码时,IDEA提示core.autocrlf的配置,如下图:

代码提交换行格式.png

出现这种情况是因为许多开发人员在协作时,特别是在跨平台情况下由于编辑器不同或者操作系统的不同,发生的行尾结束符问题。这是因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用换行一个字符。虽然这是小问题但它会极大扰乱大家的协作。

CRLF and LF CRLF是Carriage-Return Line-Feed 回车换行 LF 是 line feed 的缩写,中文意思是换行 三种方式处理的不同 CRLF->Windows-style LF->Unix Style CR->Mac Style CRLF 表示句尾使用回车换行两个字符(即我们常在Windows编程时使用 "\r\n"换行) LF 表示表示句尾,只使用换行 CR 表示只使用回车 在 Git 中转换 Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true(默认配置),这样当签出代码时,LF会被转换成CRLF: git config --global core.autocrlf true

Linux 或 Mac系统使用LF作为行结束符,因此你不想 Git在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git在提交时把CRLF转换成LF,签出时不转换:

git config --global core.autocrlf input

这样会在Windows系统上的签出文件中保留CRLF,会在Mac 和 Linux系统上,包括仓库中保留LF。

如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中: git config --global core.autocrlf false

解释:core.autocrlf是 git中负责处理line endings的变量,可以设置三个值 true,input,false 设置成三个值会有什么效果呢?

core.autocrlf设置为 true,添加文件到git仓库时,git将其视为文本文件。他将把 CRLF变成LF core.autocrlf设置为false时,line-endings将不做转换操作。文本文件保持原来的样子 core.autocrlf设置为 input时,添加文件git仓库时,git 把 crlf 编程LF。当有人 Check 代码时还 是LF方式。因此在 window操作系统下,不要使用这个设置。

参考文章:

git参考链接 :https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git

github参考链接:https://docs.github.com/cn/github/getting-started-with-github/getting-started-with-git/configuring-git-to-handle-line-endings



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3